print("第1题")


# 1.编写函数 统计字符串'abcdddeca'中每个字母只出现一次的字符，
# 统计出的结果，请按照['b', 'e']的格式输出。
def fn():
    str1 = 'abcdddeca'
    l = []
    for i in str1:
        if str1.count(i) == 1:  # a.count(i) 统计i在a中出现的次数
            l.append(i)
    print(l)


fn()

print("第2题")
# # 2.编写程序 实现输出100以内质数的功能。
for i in range(2, 101):  # 质数不包括0，1
    flag = True  # 设置一个标志位，默认为质数
    for j in range(2, i):  # 用i除(2,i-1)
        if i % j == 0:
            flag = False  # 如果可以被除了1和i本身的其它数整除修改标志位为false
            break
    if flag:
        print(i, end=",")

print("第3题")
# # 3.求三位水仙花数 (三位整数，其各位数字的三次方和等于该数本身)
for i in range(100, 1000):
    a = i // 100
    b = (i // 10) % 10
    c = i % 10
    if i == a ** 3 + b ** 3 + c ** 3:
        print(i, end=",")

print("第4题")


# # 4.求最小公倍数
def fn():
    a = int(input("请输入一个数"))
    b = int(input("请输入一个数"))
    for i in range(max(a, b), a * b + 1):
        if i % a == 0 and i % b == 0:
            print(f"{a},{b}的最小公倍数为：{i}")
            break


fn()

print("第5题")


# # 5.求回文数    回文数是一个正向和逆向都相同的整数
def fn():
    num = input("请输入整数！")
    num_new = num[::-1]  # 将字符串倒置
    return num == num_new


print(fn())

print("第6题")


# 6.编写函数，统计字符串'abcdddecA'中每个字母出现的次数
# (字母忽略大小写，a和A看作是一个字母)，统计出的结果，请按照
# {'a': 2, 'b': 1, 'c': 2, 'd': 3, 'e': 1}的格式输出。
def fn():
    str1 = 'abcdddecA'
    str2 = str1.lower()
    dir1 = {}
    for i in str2:
        dir1[i] = str2.count(i)
    print(dir1)


fn()

print("第7题")
# 7.百钱买百鸡：一只公鸡值五钱，一只母鸡值三钱，三只小鸡值一钱，
# 现在要用百钱买百鸡，请问公鸡、母鸡、小鸡各多少只？
# 百钱最多买公鸡20只，买母鸡33只
for a in range(21):  # a公鸡个数
    for b in range(34):  # b 母鸡个数
        c = 100 - a - b  # c小鸡个数
        if c % 3 == 0 and a * 5 + b * 3 + c // 3 == 100:
            print(f'公鸡{a}只,母鸡{b}只,小鸡{c}只')

print("第8题")
# 8.设计一个Circle(圆)类，在该类中包括属性radius(半径)，
# 还包括__init__(),get_perimeter()(求周长)和get_area()(求面积)共3个方法。
# 设计完成后，创建Circle类的对象求圆的周长和面积。
import math


class Circle:
    def __init__(self, r):
        self.radius = r

    def get_perimeter(self):
        print(f'周长为：{math.pi * 2 * self.radius}')

    def get_area(self):
        print(f'面积为：{math.pi * self.radius ** 2}')


c1 = Circle(3)
c1.get_perimeter()
c1.get_area()

print("第9题")


# 9.设计一个Course(课程)类，该类中包括number(编号)，name(名称)，
# teacher(任课教师)，location(上课地点)共4个属性；还包括__init__()，
# show_info()(显示课程信息)共 2个方法。设计完成后，创建Course类的对象显示课程的信息。
class Course:
    def __init__(self, number, name, teacher, location):
        self.number = number
        self.name = name
        self.teacher = teacher
        self.location = location

    def show_info(self):
        print(f'编号为：{self.number},名称为：{self.name},任课老师{self.teacher},上课地点为：{self.location}')


c1 = Course("001", "小学语文", "王大头", "中心校区")
c1.show_info()

print("第10题")


# 10.设计一个表示动物的类：Animal，其内部有一个color(颜色)属性和call(叫)方法。
# 再设计一个Fish(鱼)类，该类中有tail(尾巴)和color属性，以及一个call(叫)方法。
# 要求：让Fish类继承自Animal类，重写__init__和call方法。
class Animal:
    def __init__(self, color):
        self.color = color

    def call(self):
        print("动物叫！")


class Fish(Animal):
    def __init__(self, color, tail):
        super().__init__(color)
        self.tail = tail

    def call(self):
        print("鱼叫！")


f1 = Fish("金色", 3)
f1.call()
